package top.ligongzi.hrm.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

//分页对象：easyui只需两个属性，total(总数),datas（分页数据）就能实现分页
public class PageList<T> {
    private long total;
    private List<T> rows = new ArrayList<>();

    //多个聚合设计
    //方案1；一个一个写在里面（绝对不行）
    // AggsVo tenantAggs
    //AggsVo CourseTypeAggs
    //方案2；搞个List存(前台遍历获取，比较麻烦)
    // List<AggsVo>
    //方案3；Map也能存放多个，就是不同key，而且前台可以直接通过key获取 HNB
    //有多个，并且前台根据名称来获取
    //aggsVoData.put("tenantAggs",AggsVo)
    //aggsVoData.put("CourseTypeAggs",AggsVo)
    private Map<String,List<AggsVo>> aggsVoData =new HashMap<>();

    public Map<String, List<AggsVo>> getAggsVoData() {
        return aggsVoData;
    }

    public void setAggsVoData(Map<String, List<AggsVo>> aggsVoData) {
        this.aggsVoData = aggsVoData;
    }

    public long getTotal() {
        return total;
    }

    public void setTotal(long total) {
        this.total = total;
    }

    public List<T> getRows() {
        return rows;
    }

    public void setRows(List<T> rows) {
        this.rows = rows;
    }

    @Override
    public String toString() {
        return "PageList{" +
                "total=" + total +
                ", rows=" + rows +
                '}';
    }

    //提供有参构造方法，方便测试
    public PageList(long total, List<T> rows) {
        this.total = total;
        this.rows = rows;
    }
    //除了有参构造方法，还需要提供一个无参构造方法
    public PageList() {
    }

    public PageList(long total, List<T> rows, Map<String, List<AggsVo>> aggsVoData) {
        this.total = total;
        this.rows = rows;
        this.aggsVoData = aggsVoData;
    }


}
